#!/usr/bin/env python
# -*- coding:utf-8 -*-
#肆意妄为方式一
#linux上运行，windwos报错
import paramiko
import os

tran=paramiko.Transport(('192.168.136.8',22))
tran.start_client()
#用户名密码方式
tran.auth_password('root','123456')
#私钥认证方式
# default_path = os.path.join(os.environ['HOME'], '.ssh', 'id_rsa')
# key = paramiko.RSAKey.from_private_key_file(default_path)
# tran.auth_publickey('wupeiqi', key)
#打开一个通道
channel=tran.open_session()
#获取一个终端
channel.get_pty()
#激活器
channel.invoke_shell()

import select
import sys
import socket
while True:
    #监视用户输入和服务器返回的数据
    #sys.stdin处理用户输入
    #channel是之前创建的通道，用于接收服务器返回信息
    readable,writeable,error=select.select([channel,sys.stdin,],[],[],1)
    #只要发生变化，chan，stdin,其中之一变化就
    if channel in readable:
        try:
            x=channel.recv(1024)
            if len(x)==0:
                print '\r\n*** EOF\r\n',
                break
            sys.stdout.write(x)
            sys.stdout.flush()
        except socket.timeout:
            pass
    if sys.stdin in readable:
        inp=sys.stdin.readline()
        channel.sendall(inp)

channel.close()
tran.close()